Data storage is a critical component for computing. In a computing device, there is a storage area in the system to store data for access by the operating system and applications. In a distributed environment, additional data storage may be a separate device that the computing device has access to for regular operations. This kind of data storage is generally referred to as a primary storage, in contrast with a secondary storage, where computing devices also have access to but generally used for backing up. For data protection purposes, regular copies of data are made from a primary storage to a secondary storage. With ever increasing storage demands, additional storage areas, primary storages, second storages, and other storages (collectively referred to as storage systems herein after) have to be added constantly to computing devices and distributed computing/network systems.
For assembly easiness, storage units of primary and secondary storages are often modulated to mountable units referred to as storage shelves. In many storage systems, additional storage shelves are added as demands exhaust capacity of current storage shelves. In fact, aggregation of storage shelves are becoming ubiquitous and it is not uncommon for a storage system to support tens or even hundreds of storage shelves. Deploying storage shelves in a large scale requires testing and measurement of performance before these shelves are put in a production network carrying often mission critical data. Yet, having tens or even hundreds of storage shelves for testing and measurement purpose is impractical and even wasteful in many cases. Similarly, in some application, storage shelves with large volumes of disk space are deployed. For example, a storage shelf may be able to storage up to terabytes or even petabytes. It may not be the most effective way to test and measure such storage shelf by storing data at the storage shelf to its limit when a test needs to be done. A quicker, more economical way to test and measure performance of a storage system in a test environment is needed, when the storage system in a production network is required to manage a large amount of stored data.